//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------

function write(v) { WScript.Echo(v + ""); }

function foo() {}

write(+0.0 * '');
write(+0.0 * 0xa);
write(+0.0 * 04);
write(+0.0 * 'hello');
write(+0.0 * 'hel' + 'lo');
write(+0.0 * String(''));
write(+0.0 * String('hello'));
write(+0.0 * String('h' + 'ello'));
write(+0.0 * new String(''));
write(+0.0 * new String('hello'));
write(+0.0 * new String('he' + 'llo'));
write(+0.0 * new Object());
write(+0.0 * new Object());
write(+0.0 * [1, 2, 3]);
write(+0.0 * [1 ,2 , 3]);
write(+0.0 * new Array(3));
write(+0.0 * Array(3));
write(+0.0 * new Array(1 ,2 ,3));
write(+0.0 * Array(1));
write(+0.0 * foo);
write(1 * undefined);
write(1 * null);
write(1 * true);
write(1 * false);
write(1 * Boolean(true));
write(1 * Boolean(false));
write(1 * new Boolean(true));
write(1 * new Boolean(false));
write(1 * NaN);
write(1 * +0);
write(1 * -0);
write(1 * 0);
write(1 * 0.0);
write(1 * -0.0);
write(1 * +0.0);
write(1 * 1);
write(1 * 10);
write(1 * 10.0);
write(1 * 10.1);
write(1 * -1);
write(1 * -10);
write(1 * -10.0);
write(1 * -10.1);
write(1 * Number.MAX_VALUE);
write(1 * Number.MIN_VALUE);
write(1 * Number.NaN);
write(1 * Number.POSITIVE_INFINITY);
write(1 * Number.NEGATIVE_INFINITY);
write(1 * new Number(NaN));
write(1 * new Number(+0));
write(1 * new Number(-0));
write(1 * new Number(0));
write(1 * new Number(0.0));
write(1 * new Number(-0.0));
write(1 * new Number(+0.0));
write(1 * new Number(1));
write(1 * new Number(10));
write(1 * new Number(10.0));
write(1 * new Number(10.1));
write(1 * new Number(-1));
write(1 * new Number(-10));
write(1 * new Number(-10.0));
write(1 * new Number(-10.1));
write(1 * new Number(Number.MAX_VALUE));
write(1 * new Number(Number.MIN_VALUE));
write(1 * new Number(Number.NaN));
write(1 * new Number(Number.POSITIVE_INFINITY));
write(1 * new Number(Number.NEGATIVE_INFINITY));
write(1 * '');
write(1 * 0xa);
write(1 * 04);
write(1 * 'hello');
write(1 * 'hel' + 'lo');
write(1 * String(''));
write(1 * String('hello'));
write(1 * String('h' + 'ello'));
write(1 * new String(''));
write(1 * new String('hello'));
write(1 * new String('he' + 'llo'));
write(1 * new Object());
write(1 * new Object());
write(1 * [1, 2, 3]);
write(1 * [1 ,2 , 3]);
write(1 * new Array(3));
write(1 * Array(3));
write(1 * new Array(1 ,2 ,3));
write(1 * Array(1));
write(1 * foo);
write(10 * undefined);
write(10 * null);
write(10 * true);
write(10 * false);
write(10 * Boolean(true));
write(10 * Boolean(false));
write(10 * new Boolean(true));
write(10 * new Boolean(false));
write(10 * NaN);
write(10 * +0);
write(10 * -0);
write(10 * 0);
write(10 * 0.0);
write(10 * -0.0);
write(10 * +0.0);
write(10 * 1);
write(10 * 10);
write(10 * 10.0);
write(10 * 10.1);
write(10 * -1);
write(10 * -10);
write(10 * -10.0);
write(10 * -10.1);
write(10 * Number.MAX_VALUE);
write(10 * Number.MIN_VALUE);
write(10 * Number.NaN);
write(10 * Number.POSITIVE_INFINITY);
write(10 * Number.NEGATIVE_INFINITY);
write(10 * new Number(NaN));
write(10 * new Number(+0));
write(10 * new Number(-0));
write(10 * new Number(0));
write(10 * new Number(0.0));
write(10 * new Number(-0.0));
write(10 * new Number(+0.0));
write(10 * new Number(1));
write(10 * new Number(10));
write(10 * new Number(10.0));
write(10 * new Number(10.1));
write(10 * new Number(-1));
write(10 * new Number(-10));
write(10 * new Number(-10.0));
write(10 * new Number(-10.1));
write(10 * new Number(Number.MAX_VALUE));
write(10 * new Number(Number.MIN_VALUE));
write(10 * new Number(Number.NaN));
write(10 * new Number(Number.POSITIVE_INFINITY));
write(10 * new Number(Number.NEGATIVE_INFINITY));
write(10 * '');
write(10 * 0xa);
write(10 * 04);
write(10 * 'hello');
write(10 * 'hel' + 'lo');
write(10 * String(''));
write(10 * String('hello'));
write(10 * String('h' + 'ello'));
write(10 * new String(''));
write(10 * new String('hello'));
write(10 * new String('he' + 'llo'));
write(10 * new Object());
write(10 * new Object());
write(10 * [1, 2, 3]);
write(10 * [1 ,2 , 3]);
write(10 * new Array(3));
write(10 * Array(3));
write(10 * new Array(1 ,2 ,3));
write(10 * Array(1));
write(10 * foo);
write(10.0 * undefined);
write(10.0 * null);
write(10.0 * true);
write(10.0 * false);
write(10.0 * Boolean(true));
write(10.0 * Boolean(false));
write(10.0 * new Boolean(true));
write(10.0 * new Boolean(false));
write(10.0 * NaN);
write(10.0 * +0);
write(10.0 * -0);
write(10.0 * 0);
write(10.0 * 0.0);
write(10.0 * -0.0);
write(10.0 * +0.0);
write(10.0 * 1);
write(10.0 * 10);
write(10.0 * 10.0);
write(10.0 * 10.1);
write(10.0 * -1);
write(10.0 * -10);
write(10.0 * -10.0);
write(10.0 * -10.1);
write(10.0 * Number.MAX_VALUE);
write(10.0 * Number.MIN_VALUE);
write(10.0 * Number.NaN);
write(10.0 * Number.POSITIVE_INFINITY);
write(10.0 * Number.NEGATIVE_INFINITY);
write(10.0 * new Number(NaN));
write(10.0 * new Number(+0));
write(10.0 * new Number(-0));
write(10.0 * new Number(0));
write(10.0 * new Number(0.0));
write(10.0 * new Number(-0.0));
write(10.0 * new Number(+0.0));
write(10.0 * new Number(1));
write(10.0 * new Number(10));
write(10.0 * new Number(10.0));
write(10.0 * new Number(10.1));
write(10.0 * new Number(-1));
write(10.0 * new Number(-10));
write(10.0 * new Number(-10.0));
write(10.0 * new Number(-10.1));
write(10.0 * new Number(Number.MAX_VALUE));
write(10.0 * new Number(Number.MIN_VALUE));
write(10.0 * new Number(Number.NaN));
write(10.0 * new Number(Number.POSITIVE_INFINITY));
write(10.0 * new Number(Number.NEGATIVE_INFINITY));
write(10.0 * '');
write(10.0 * 0xa);
write(10.0 * 04);
write(10.0 * 'hello');
write(10.0 * 'hel' + 'lo');
write(10.0 * String(''));
write(10.0 * String('hello'));
write(10.0 * String('h' + 'ello'));
write(10.0 * new String(''));
write(10.0 * new String('hello'));
write(10.0 * new String('he' + 'llo'));
write(10.0 * new Object());
write(10.0 * new Object());
write(10.0 * [1, 2, 3]);
write(10.0 * [1 ,2 , 3]);
write(10.0 * new Array(3));
write(10.0 * Array(3));
write(10.0 * new Array(1 ,2 ,3));
write(10.0 * Array(1));
write(10.0 * foo);
write(10.1 * undefined);
write(10.1 * null);
write(10.1 * true);
write(10.1 * false);
write(10.1 * Boolean(true));
write(10.1 * Boolean(false));
write(10.1 * new Boolean(true));
write(10.1 * new Boolean(false));
write(10.1 * NaN);
write(10.1 * +0);
write(10.1 * -0);
write(10.1 * 0);
write(10.1 * 0.0);
write(10.1 * -0.0);
write(10.1 * +0.0);
write(10.1 * 1);
write(10.1 * 10);
write(10.1 * 10.0);
write(10.1 * 10.1);
write(10.1 * -1);
write(10.1 * -10);
write(10.1 * -10.0);
write(10.1 * -10.1);
write(10.1 * Number.MAX_VALUE);
write(10.1 * Number.MIN_VALUE);
write(10.1 * Number.NaN);
write(10.1 * Number.POSITIVE_INFINITY);
write(10.1 * Number.NEGATIVE_INFINITY);
write(10.1 * new Number(NaN));
write(10.1 * new Number(+0));
write(10.1 * new Number(-0));
write(10.1 * new Number(0));
write(10.1 * new Number(0.0));
write(10.1 * new Number(-0.0));
write(10.1 * new Number(+0.0));
write(10.1 * new Number(1));
write(10.1 * new Number(10));
write(10.1 * new Number(10.0));
write(10.1 * new Number(10.1));
write(10.1 * new Number(-1));
write(10.1 * new Number(-10));
write(10.1 * new Number(-10.0));
write(10.1 * new Number(-10.1));
write(10.1 * new Number(Number.MAX_VALUE));
write(10.1 * new Number(Number.MIN_VALUE));
write(10.1 * new Number(Number.NaN));
write(10.1 * new Number(Number.POSITIVE_INFINITY));
write(10.1 * new Number(Number.NEGATIVE_INFINITY));
write(10.1 * '');
write(10.1 * 0xa);
write(10.1 * 04);
write(10.1 * 'hello');
write(10.1 * 'hel' + 'lo');
write(10.1 * String(''));
write(10.1 * String('hello'));
write(10.1 * String('h' + 'ello'));
write(10.1 * new String(''));
write(10.1 * new String('hello'));
write(10.1 * new String('he' + 'llo'));
write(10.1 * new Object());
write(10.1 * new Object());
write(10.1 * [1, 2, 3]);
write(10.1 * [1 ,2 , 3]);
write(10.1 * new Array(3));
write(10.1 * Array(3));
write(10.1 * new Array(1 ,2 ,3));
write(10.1 * Array(1));
write(10.1 * foo);
write(-1 * undefined);
write(-1 * null);
write(-1 * true);
write(-1 * false);
write(-1 * Boolean(true));
write(-1 * Boolean(false));
write(-1 * new Boolean(true));
write(-1 * new Boolean(false));
write(-1 * NaN);
write(-1 * +0);
write(-1 * -0);
write(-1 * 0);
write(-1 * 0.0);
write(-1 * -0.0);
write(-1 * +0.0);
write(-1 * 1);
write(-1 * 10);
write(-1 * 10.0);
write(-1 * 10.1);
write(-1 * -1);
write(-1 * -10);
write(-1 * -10.0);
write(-1 * -10.1);
write(-1 * Number.MAX_VALUE);
write(-1 * Number.MIN_VALUE);
write(-1 * Number.NaN);
write(-1 * Number.POSITIVE_INFINITY);
write(-1 * Number.NEGATIVE_INFINITY);
write(-1 * new Number(NaN));
write(-1 * new Number(+0));
write(-1 * new Number(-0));
write(-1 * new Number(0));
write(-1 * new Number(0.0));
write(-1 * new Number(-0.0));
write(-1 * new Number(+0.0));
write(-1 * new Number(1));
write(-1 * new Number(10));
write(-1 * new Number(10.0));
write(-1 * new Number(10.1));
write(-1 * new Number(-1));
write(-1 * new Number(-10));
write(-1 * new Number(-10.0));
write(-1 * new Number(-10.1));
write(-1 * new Number(Number.MAX_VALUE));
write(-1 * new Number(Number.MIN_VALUE));
write(-1 * new Number(Number.NaN));
write(-1 * new Number(Number.POSITIVE_INFINITY));
write(-1 * new Number(Number.NEGATIVE_INFINITY));
write(-1 * '');
write(-1 * 0xa);
write(-1 * 04);
write(-1 * 'hello');
write(-1 * 'hel' + 'lo');
write(-1 * String(''));
write(-1 * String('hello'));
write(-1 * String('h' + 'ello'));
write(-1 * new String(''));
write(-1 * new String('hello'));
write(-1 * new String('he' + 'llo'));
write(-1 * new Object());
write(-1 * new Object());
write(-1 * [1, 2, 3]);
write(-1 * [1 ,2 , 3]);
write(-1 * new Array(3));
write(-1 * Array(3));
write(-1 * new Array(1 ,2 ,3));
write(-1 * Array(1));
write(-1 * foo);
write(-10 * undefined);
write(-10 * null);
write(-10 * true);
write(-10 * false);
write(-10 * Boolean(true));
write(-10 * Boolean(false));
write(-10 * new Boolean(true));
write(-10 * new Boolean(false));
write(-10 * NaN);
write(-10 * +0);
write(-10 * -0);
write(-10 * 0);
write(-10 * 0.0);
write(-10 * -0.0);
write(-10 * +0.0);
write(-10 * 1);
write(-10 * 10);
write(-10 * 10.0);
write(-10 * 10.1);
write(-10 * -1);
write(-10 * -10);
write(-10 * -10.0);
write(-10 * -10.1);
write(-10 * Number.MAX_VALUE);
write(-10 * Number.MIN_VALUE);
write(-10 * Number.NaN);
write(-10 * Number.POSITIVE_INFINITY);
write(-10 * Number.NEGATIVE_INFINITY);
write(-10 * new Number(NaN));
write(-10 * new Number(+0));
write(-10 * new Number(-0));
write(-10 * new Number(0));
write(-10 * new Number(0.0));
write(-10 * new Number(-0.0));
write(-10 * new Number(+0.0));
write(-10 * new Number(1));
write(-10 * new Number(10));
write(-10 * new Number(10.0));
write(-10 * new Number(10.1));
write(-10 * new Number(-1));
write(-10 * new Number(-10));
write(-10 * new Number(-10.0));
write(-10 * new Number(-10.1));
write(-10 * new Number(Number.MAX_VALUE));
write(-10 * new Number(Number.MIN_VALUE));
write(-10 * new Number(Number.NaN));
write(-10 * new Number(Number.POSITIVE_INFINITY));
write(-10 * new Number(Number.NEGATIVE_INFINITY));
write(-10 * '');
write(-10 * 0xa);
write(-10 * 04);
write(-10 * 'hello');
write(-10 * 'hel' + 'lo');
write(-10 * String(''));
write(-10 * String('hello'));
write(-10 * String('h' + 'ello'));
write(-10 * new String(''));
write(-10 * new String('hello'));
write(-10 * new String('he' + 'llo'));
write(-10 * new Object());
write(-10 * new Object());
write(-10 * [1, 2, 3]);
write(-10 * [1 ,2 , 3]);
write(-10 * new Array(3));
write(-10 * Array(3));
write(-10 * new Array(1 ,2 ,3));
write(-10 * Array(1));
write(-10 * foo);
write(-10.0 * undefined);
write(-10.0 * null);
write(-10.0 * true);
write(-10.0 * false);
write(-10.0 * Boolean(true));
write(-10.0 * Boolean(false));
write(-10.0 * new Boolean(true));
write(-10.0 * new Boolean(false));
write(-10.0 * NaN);
write(-10.0 * +0);
write(-10.0 * -0);
write(-10.0 * 0);
write(-10.0 * 0.0);
write(-10.0 * -0.0);
write(-10.0 * +0.0);
write(-10.0 * 1);
write(-10.0 * 10);
write(-10.0 * 10.0);
write(-10.0 * 10.1);
write(-10.0 * -1);
write(-10.0 * -10);
write(-10.0 * -10.0);
write(-10.0 * -10.1);
write(-10.0 * Number.MAX_VALUE);
write(-10.0 * Number.MIN_VALUE);
write(-10.0 * Number.NaN);
write(-10.0 * Number.POSITIVE_INFINITY);
write(-10.0 * Number.NEGATIVE_INFINITY);
write(-10.0 * new Number(NaN));
write(-10.0 * new Number(+0));
write(-10.0 * new Number(-0));
write(-10.0 * new Number(0));
write(-10.0 * new Number(0.0));
write(-10.0 * new Number(-0.0));
write(-10.0 * new Number(+0.0));
write(-10.0 * new Number(1));
write(-10.0 * new Number(10));
write(-10.0 * new Number(10.0));
write(-10.0 * new Number(10.1));
write(-10.0 * new Number(-1));
write(-10.0 * new Number(-10));
write(-10.0 * new Number(-10.0));
write(-10.0 * new Number(-10.1));
write(-10.0 * new Number(Number.MAX_VALUE));
write(-10.0 * new Number(Number.MIN_VALUE));
write(-10.0 * new Number(Number.NaN));
write(-10.0 * new Number(Number.POSITIVE_INFINITY));
write(-10.0 * new Number(Number.NEGATIVE_INFINITY));
write(-10.0 * '');
write(-10.0 * 0xa);
write(-10.0 * 04);
write(-10.0 * 'hello');
write(-10.0 * 'hel' + 'lo');
write(-10.0 * String(''));
write(-10.0 * String('hello'));
write(-10.0 * String('h' + 'ello'));
write(-10.0 * new String(''));
write(-10.0 * new String('hello'));
write(-10.0 * new String('he' + 'llo'));
write(-10.0 * new Object());
write(-10.0 * new Object());
write(-10.0 * [1, 2, 3]);
write(-10.0 * [1 ,2 , 3]);
write(-10.0 * new Array(3));
write(-10.0 * Array(3));
write(-10.0 * new Array(1 ,2 ,3));
write(-10.0 * Array(1));
write(-10.0 * foo);
write(-10.1 * undefined);
write(-10.1 * null);
write(-10.1 * true);
write(-10.1 * false);
write(-10.1 * Boolean(true));
write(-10.1 * Boolean(false));
write(-10.1 * new Boolean(true));
write(-10.1 * new Boolean(false));
write(-10.1 * NaN);
write(-10.1 * +0);
write(-10.1 * -0);
write(-10.1 * 0);
write(-10.1 * 0.0);
write(-10.1 * -0.0);
write(-10.1 * +0.0);
write(-10.1 * 1);
write(-10.1 * 10);
write(-10.1 * 10.0);
write(-10.1 * 10.1);
write(-10.1 * -1);
write(-10.1 * -10);
write(-10.1 * -10.0);
write(-10.1 * -10.1);
write(-10.1 * Number.MAX_VALUE);
write(-10.1 * Number.MIN_VALUE);
write(-10.1 * Number.NaN);
write(-10.1 * Number.POSITIVE_INFINITY);
write(-10.1 * Number.NEGATIVE_INFINITY);
write(-10.1 * new Number(NaN));
write(-10.1 * new Number(+0));
write(-10.1 * new Number(-0));
write(-10.1 * new Number(0));
write(-10.1 * new Number(0.0));
write(-10.1 * new Number(-0.0));
write(-10.1 * new Number(+0.0));
write(-10.1 * new Number(1));
write(-10.1 * new Number(10));
write(-10.1 * new Number(10.0));
write(-10.1 * new Number(10.1));
write(-10.1 * new Number(-1));
write(-10.1 * new Number(-10));
write(-10.1 * new Number(-10.0));
write(-10.1 * new Number(-10.1));
write(-10.1 * new Number(Number.MAX_VALUE));
write(-10.1 * new Number(Number.MIN_VALUE));
write(-10.1 * new Number(Number.NaN));
write(-10.1 * new Number(Number.POSITIVE_INFINITY));
write(-10.1 * new Number(Number.NEGATIVE_INFINITY));
write(-10.1 * '');
write(-10.1 * 0xa);
write(-10.1 * 04);
write(-10.1 * 'hello');
write(-10.1 * 'hel' + 'lo');
write(-10.1 * String(''));
write(-10.1 * String('hello'));
write(-10.1 * String('h' + 'ello'));
write(-10.1 * new String(''));
write(-10.1 * new String('hello'));
write(-10.1 * new String('he' + 'llo'));
write(-10.1 * new Object());
write(-10.1 * new Object());
write(-10.1 * [1, 2, 3]);
write(-10.1 * [1 ,2 , 3]);
write(-10.1 * new Array(3));
write(-10.1 * Array(3));
write(-10.1 * new Array(1 ,2 ,3));
write(-10.1 * Array(1));
write(-10.1 * foo);
write(Number.MAX_VALUE * undefined);
write(Number.MAX_VALUE * null);
write(Number.MAX_VALUE * true);
write(Number.MAX_VALUE * false);
write(Number.MAX_VALUE * Boolean(true));
write(Number.MAX_VALUE * Boolean(false));
write(Number.MAX_VALUE * new Boolean(true));
write(Number.MAX_VALUE * new Boolean(false));
write(Number.MAX_VALUE * NaN);
write(Number.MAX_VALUE * +0);
write(Number.MAX_VALUE * -0);
write(Number.MAX_VALUE * 0);
write(Number.MAX_VALUE * 0.0);
write(Number.MAX_VALUE * -0.0);
write(Number.MAX_VALUE * +0.0);
write(Number.MAX_VALUE * 1);
write(Number.MAX_VALUE * 10);
write(Number.MAX_VALUE * 10.0);
write(Number.MAX_VALUE * 10.1);
write(Number.MAX_VALUE * -1);
write(Number.MAX_VALUE * -10);
write(Number.MAX_VALUE * -10.0);
write(Number.MAX_VALUE * -10.1);
write(Number.MAX_VALUE * Number.MAX_VALUE);
write(Number.MAX_VALUE * Number.MIN_VALUE);
write(Number.MAX_VALUE * Number.NaN);
write(Number.MAX_VALUE * Number.POSITIVE_INFINITY);
write(Number.MAX_VALUE * Number.NEGATIVE_INFINITY);
write(Number.MAX_VALUE * new Number(NaN));
write(Number.MAX_VALUE * new Number(+0));
write(Number.MAX_VALUE * new Number(-0));
write(Number.MAX_VALUE * new Number(0));
write(Number.MAX_VALUE * new Number(0.0));
write(Number.MAX_VALUE * new Number(-0.0));
write(Number.MAX_VALUE * new Number(+0.0));
write(Number.MAX_VALUE * new Number(1));
write(Number.MAX_VALUE * new Number(10));
write(Number.MAX_VALUE * new Number(10.0));
write(Number.MAX_VALUE * new Number(10.1));
write(Number.MAX_VALUE * new Number(-1));
write(Number.MAX_VALUE * new Number(-10));
write(Number.MAX_VALUE * new Number(-10.0));
write(Number.MAX_VALUE * new Number(-10.1));
write(Number.MAX_VALUE * new Number(Number.MAX_VALUE));
write(Number.MAX_VALUE * new Number(Number.MIN_VALUE));
write(Number.MAX_VALUE * new Number(Number.NaN));
write(Number.MAX_VALUE * new Number(Number.POSITIVE_INFINITY));
write(Number.MAX_VALUE * new Number(Number.NEGATIVE_INFINITY));
write(Number.MAX_VALUE * '');
write(Number.MAX_VALUE * 0xa);
write(Number.MAX_VALUE * 04);
write(Number.MAX_VALUE * 'hello');
write(Number.MAX_VALUE * 'hel' + 'lo');
write(Number.MAX_VALUE * String(''));
write(Number.MAX_VALUE * String('hello'));
write(Number.MAX_VALUE * String('h' + 'ello'));
write(Number.MAX_VALUE * new String(''));
write(Number.MAX_VALUE * new String('hello'));
write(Number.MAX_VALUE * new String('he' + 'llo'));
write(Number.MAX_VALUE * new Object());
write(Number.MAX_VALUE * new Object());
write(Number.MAX_VALUE * [1, 2, 3]);
write(Number.MAX_VALUE * [1 ,2 , 3]);
write(Number.MAX_VALUE * new Array(3));
write(Number.MAX_VALUE * Array(3));
write(Number.MAX_VALUE * new Array(1 ,2 ,3));
write(Number.MAX_VALUE * Array(1));
write(Number.MAX_VALUE * foo);
write(Number.MIN_VALUE * undefined);
write(Number.MIN_VALUE * null);
write(Number.MIN_VALUE * true);
write(Number.MIN_VALUE * false);
write(Number.MIN_VALUE * Boolean(true));
write(Number.MIN_VALUE * Boolean(false));
write(Number.MIN_VALUE * new Boolean(true));
write(Number.MIN_VALUE * new Boolean(false));
write(Number.MIN_VALUE * NaN);
write(Number.MIN_VALUE * +0);
write(Number.MIN_VALUE * -0);
write(Number.MIN_VALUE * 0);
write(Number.MIN_VALUE * 0.0);
write(Number.MIN_VALUE * -0.0);
write(Number.MIN_VALUE * +0.0);
write(Number.MIN_VALUE * 1);
write(Number.MIN_VALUE * 10);
write(Number.MIN_VALUE * 10.0);
write(Number.MIN_VALUE * 10.1);
write(Number.MIN_VALUE * -1);
write(Number.MIN_VALUE * -10);
write(Number.MIN_VALUE * -10.0);
write(Number.MIN_VALUE * -10.1);
write(Number.MIN_VALUE * Number.MAX_VALUE);
write(Number.MIN_VALUE * Number.MIN_VALUE);
write(Number.MIN_VALUE * Number.NaN);
write(Number.MIN_VALUE * Number.POSITIVE_INFINITY);
write(Number.MIN_VALUE * Number.NEGATIVE_INFINITY);
write(Number.MIN_VALUE * new Number(NaN));
write(Number.MIN_VALUE * new Number(+0));
write(Number.MIN_VALUE * new Number(-0));
write(Number.MIN_VALUE * new Number(0));
write(Number.MIN_VALUE * new Number(0.0));
write(Number.MIN_VALUE * new Number(-0.0));
write(Number.MIN_VALUE * new Number(+0.0));
write(Number.MIN_VALUE * new Number(1));
write(Number.MIN_VALUE * new Number(10));
write(Number.MIN_VALUE * new Number(10.0));
write(Number.MIN_VALUE * new Number(10.1));
write(Number.MIN_VALUE * new Number(-1));
write(Number.MIN_VALUE * new Number(-10));
write(Number.MIN_VALUE * new Number(-10.0));
write(Number.MIN_VALUE * new Number(-10.1));
write(Number.MIN_VALUE * new Number(Number.MAX_VALUE));
write(Number.MIN_VALUE * new Number(Number.MIN_VALUE));
write(Number.MIN_VALUE * new Number(Number.NaN));
write(Number.MIN_VALUE * new Number(Number.POSITIVE_INFINITY));
write(Number.MIN_VALUE * new Number(Number.NEGATIVE_INFINITY));
write(Number.MIN_VALUE * '');
write(Number.MIN_VALUE * 0xa);
write(Number.MIN_VALUE * 04);
write(Number.MIN_VALUE * 'hello');
write(Number.MIN_VALUE * 'hel' + 'lo');
write(Number.MIN_VALUE * String(''));
write(Number.MIN_VALUE * String('hello'));
write(Number.MIN_VALUE * String('h' + 'ello'));
write(Number.MIN_VALUE * new String(''));
write(Number.MIN_VALUE * new String('hello'));
write(Number.MIN_VALUE * new String('he' + 'llo'));
write(Number.MIN_VALUE * new Object());
write(Number.MIN_VALUE * new Object());
write(Number.MIN_VALUE * [1, 2, 3]);
write(Number.MIN_VALUE * [1 ,2 , 3]);
write(Number.MIN_VALUE * new Array(3));
write(Number.MIN_VALUE * Array(3));
write(Number.MIN_VALUE * new Array(1 ,2 ,3));
write(Number.MIN_VALUE * Array(1));
write(Number.MIN_VALUE * foo);
write(Number.NaN * undefined);
write(Number.NaN * null);
write(Number.NaN * true);
write(Number.NaN * false);
write(Number.NaN * Boolean(true));
write(Number.NaN * Boolean(false));
write(Number.NaN * new Boolean(true));
write(Number.NaN * new Boolean(false));
write(Number.NaN * NaN);
write(Number.NaN * +0);
write(Number.NaN * -0);
write(Number.NaN * 0);
write(Number.NaN * 0.0);
write(Number.NaN * -0.0);
write(Number.NaN * +0.0);
write(Number.NaN * 1);
write(Number.NaN * 10);
write(Number.NaN * 10.0);
write(Number.NaN * 10.1);
write(Number.NaN * -1);
write(Number.NaN * -10);
write(Number.NaN * -10.0);
write(Number.NaN * -10.1);
write(Number.NaN * Number.MAX_VALUE);
write(Number.NaN * Number.MIN_VALUE);
write(Number.NaN * Number.NaN);
write(Number.NaN * Number.POSITIVE_INFINITY);
write(Number.NaN * Number.NEGATIVE_INFINITY);
write(Number.NaN * new Number(NaN));
write(Number.NaN * new Number(+0));
write(Number.NaN * new Number(-0));
write(Number.NaN * new Number(0));
write(Number.NaN * new Number(0.0));
write(Number.NaN * new Number(-0.0));
write(Number.NaN * new Number(+0.0));
write(Number.NaN * new Number(1));
write(Number.NaN * new Number(10));
write(Number.NaN * new Number(10.0));
write(Number.NaN * new Number(10.1));
write(Number.NaN * new Number(-1));
write(Number.NaN * new Number(-10));
write(Number.NaN * new Number(-10.0));
write(Number.NaN * new Number(-10.1));
write(Number.NaN * new Number(Number.MAX_VALUE));
write(Number.NaN * new Number(Number.MIN_VALUE));
write(Number.NaN * new Number(Number.NaN));
write(Number.NaN * new Number(Number.POSITIVE_INFINITY));
write(Number.NaN * new Number(Number.NEGATIVE_INFINITY));
write(Number.NaN * '');
write(Number.NaN * 0xa);
write(Number.NaN * 04);
write(Number.NaN * 'hello');
write(Number.NaN * 'hel' + 'lo');
write(Number.NaN * String(''));
write(Number.NaN * String('hello'));
write(Number.NaN * String('h' + 'ello'));
write(Number.NaN * new String(''));
write(Number.NaN * new String('hello'));
write(Number.NaN * new String('he' + 'llo'));
write(Number.NaN * new Object());
write(Number.NaN * new Object());
write(Number.NaN * [1, 2, 3]);
write(Number.NaN * [1 ,2 , 3]);
write(Number.NaN * new Array(3));
write(Number.NaN * Array(3));
write(Number.NaN * new Array(1 ,2 ,3));
write(Number.NaN * Array(1));
write(Number.NaN * foo);
write(Number.POSITIVE_INFINITY * undefined);
write(Number.POSITIVE_INFINITY * null);
write(Number.POSITIVE_INFINITY * true);
write(Number.POSITIVE_INFINITY * false);
write(Number.POSITIVE_INFINITY * Boolean(true));
write(Number.POSITIVE_INFINITY * Boolean(false));
write(Number.POSITIVE_INFINITY * new Boolean(true));
write(Number.POSITIVE_INFINITY * new Boolean(false));
write(Number.POSITIVE_INFINITY * NaN);
write(Number.POSITIVE_INFINITY * +0);
write(Number.POSITIVE_INFINITY * -0);
write(Number.POSITIVE_INFINITY * 0);
write(Number.POSITIVE_INFINITY * 0.0);
write(Number.POSITIVE_INFINITY * -0.0);
write(Number.POSITIVE_INFINITY * +0.0);
write(Number.POSITIVE_INFINITY * 1);
write(Number.POSITIVE_INFINITY * 10);
write(Number.POSITIVE_INFINITY * 10.0);
write(Number.POSITIVE_INFINITY * 10.1);
write(Number.POSITIVE_INFINITY * -1);
write(Number.POSITIVE_INFINITY * -10);
write(Number.POSITIVE_INFINITY * -10.0);
write(Number.POSITIVE_INFINITY * -10.1);
write(Number.POSITIVE_INFINITY * Number.MAX_VALUE);
write(Number.POSITIVE_INFINITY * Number.MIN_VALUE);
write(Number.POSITIVE_INFINITY * Number.NaN);
write(Number.POSITIVE_INFINITY * Number.POSITIVE_INFINITY);
write(Number.POSITIVE_INFINITY * Number.NEGATIVE_INFINITY);
write(Number.POSITIVE_INFINITY * new Number(NaN));
write(Number.POSITIVE_INFINITY * new Number(+0));
write(Number.POSITIVE_INFINITY * new Number(-0));
write(Number.POSITIVE_INFINITY * new Number(0));
write(Number.POSITIVE_INFINITY * new Number(0.0));
write(Number.POSITIVE_INFINITY * new Number(-0.0));
write(Number.POSITIVE_INFINITY * new Number(+0.0));
write(Number.POSITIVE_INFINITY * new Number(1));
write(Number.POSITIVE_INFINITY * new Number(10));
write(Number.POSITIVE_INFINITY * new Number(10.0));
write(Number.POSITIVE_INFINITY * new Number(10.1));
write(Number.POSITIVE_INFINITY * new Number(-1));
write(Number.POSITIVE_INFINITY * new Number(-10));
write(Number.POSITIVE_INFINITY * new Number(-10.0));
write(Number.POSITIVE_INFINITY * new Number(-10.1));
write(Number.POSITIVE_INFINITY * new Number(Number.MAX_VALUE));
write(Number.POSITIVE_INFINITY * new Number(Number.MIN_VALUE));
write(Number.POSITIVE_INFINITY * new Number(Number.NaN));
write(Number.POSITIVE_INFINITY * new Number(Number.POSITIVE_INFINITY));
write(Number.POSITIVE_INFINITY * new Number(Number.NEGATIVE_INFINITY));
write(Number.POSITIVE_INFINITY * '');
write(Number.POSITIVE_INFINITY * 0xa);
write(Number.POSITIVE_INFINITY * 04);
write(Number.POSITIVE_INFINITY * 'hello');
write(Number.POSITIVE_INFINITY * 'hel' + 'lo');
write(Number.POSITIVE_INFINITY * String(''));
write(Number.POSITIVE_INFINITY * String('hello'));
write(Number.POSITIVE_INFINITY * String('h' + 'ello'));
write(Number.POSITIVE_INFINITY * new String(''));
write(Number.POSITIVE_INFINITY * new String('hello'));
write(Number.POSITIVE_INFINITY * new String('he' + 'llo'));
write(Number.POSITIVE_INFINITY * new Object());
write(Number.POSITIVE_INFINITY * new Object());
write(Number.POSITIVE_INFINITY * [1, 2, 3]);
write(Number.POSITIVE_INFINITY * [1 ,2 , 3]);
write(Number.POSITIVE_INFINITY * new Array(3));
write(Number.POSITIVE_INFINITY * Array(3));
write(Number.POSITIVE_INFINITY * new Array(1 ,2 ,3));
write(Number.POSITIVE_INFINITY * Array(1));
write(Number.POSITIVE_INFINITY * foo);
write(Number.NEGATIVE_INFINITY * undefined);
write(Number.NEGATIVE_INFINITY * null);
write(Number.NEGATIVE_INFINITY * true);
write(Number.NEGATIVE_INFINITY * false);
write(Number.NEGATIVE_INFINITY * Boolean(true));
write(Number.NEGATIVE_INFINITY * Boolean(false));
write(Number.NEGATIVE_INFINITY * new Boolean(true));
write(Number.NEGATIVE_INFINITY * new Boolean(false));
write(Number.NEGATIVE_INFINITY * NaN);
write(Number.NEGATIVE_INFINITY * +0);
write(Number.NEGATIVE_INFINITY * -0);
write(Number.NEGATIVE_INFINITY * 0);
write(Number.NEGATIVE_INFINITY * 0.0);
write(Number.NEGATIVE_INFINITY * -0.0);
write(Number.NEGATIVE_INFINITY * +0.0);
write(Number.NEGATIVE_INFINITY * 1);
write(Number.NEGATIVE_INFINITY * 10);
write(Number.NEGATIVE_INFINITY * 10.0);
write(Number.NEGATIVE_INFINITY * 10.1);
write(Number.NEGATIVE_INFINITY * -1);
write(Number.NEGATIVE_INFINITY * -10);
write(Number.NEGATIVE_INFINITY * -10.0);
write(Number.NEGATIVE_INFINITY * -10.1);
write(Number.NEGATIVE_INFINITY * Number.MAX_VALUE);
write(Number.NEGATIVE_INFINITY * Number.MIN_VALUE);
write(Number.NEGATIVE_INFINITY * Number.NaN);
write(Number.NEGATIVE_INFINITY * Number.POSITIVE_INFINITY);
write(Number.NEGATIVE_INFINITY * Number.NEGATIVE_INFINITY);
write(Number.NEGATIVE_INFINITY * new Number(NaN));
write(Number.NEGATIVE_INFINITY * new Number(+0));
write(Number.NEGATIVE_INFINITY * new Number(-0));
write(Number.NEGATIVE_INFINITY * new Number(0));
write(Number.NEGATIVE_INFINITY * new Number(0.0));
write(Number.NEGATIVE_INFINITY * new Number(-0.0));
write(Number.NEGATIVE_INFINITY * new Number(+0.0));
write(Number.NEGATIVE_INFINITY * new Number(1));
write(Number.NEGATIVE_INFINITY * new Number(10));
write(Number.NEGATIVE_INFINITY * new Number(10.0));
write(Number.NEGATIVE_INFINITY * new Number(10.1));
write(Number.NEGATIVE_INFINITY * new Number(-1));
write(Number.NEGATIVE_INFINITY * new Number(-10));
write(Number.NEGATIVE_INFINITY * new Number(-10.0));
write(Number.NEGATIVE_INFINITY * new Number(-10.1));
write(Number.NEGATIVE_INFINITY * new Number(Number.MAX_VALUE));
write(Number.NEGATIVE_INFINITY * new Number(Number.MIN_VALUE));
write(Number.NEGATIVE_INFINITY * new Number(Number.NaN));
write(Number.NEGATIVE_INFINITY * new Number(Number.POSITIVE_INFINITY));
write(Number.NEGATIVE_INFINITY * new Number(Number.NEGATIVE_INFINITY));
write(Number.NEGATIVE_INFINITY * '');
write(Number.NEGATIVE_INFINITY * 0xa);
write(Number.NEGATIVE_INFINITY * 04);
write(Number.NEGATIVE_INFINITY * 'hello');
write(Number.NEGATIVE_INFINITY * 'hel' + 'lo');
write(Number.NEGATIVE_INFINITY * String(''));
write(Number.NEGATIVE_INFINITY * String('hello'));
write(Number.NEGATIVE_INFINITY * String('h' + 'ello'));
write(Number.NEGATIVE_INFINITY * new String(''));
write(Number.NEGATIVE_INFINITY * new String('hello'));
write(Number.NEGATIVE_INFINITY * new String('he' + 'llo'));
write(Number.NEGATIVE_INFINITY * new Object());
write(Number.NEGATIVE_INFINITY * new Object());
write(Number.NEGATIVE_INFINITY * [1, 2, 3]);
write(Number.NEGATIVE_INFINITY * [1 ,2 , 3]);
write(Number.NEGATIVE_INFINITY * new Array(3));
write(Number.NEGATIVE_INFINITY * Array(3));
write(Number.NEGATIVE_INFINITY * new Array(1 ,2 ,3));
write(Number.NEGATIVE_INFINITY * Array(1));
write(Number.NEGATIVE_INFINITY * foo);
write(new Number(NaN) * undefined);
write(new Number(NaN) * null);
write(new Number(NaN) * true);
write(new Number(NaN) * false);
write(new Number(NaN) * Boolean(true));
write(new Number(NaN) * Boolean(false));
write(new Number(NaN) * new Boolean(true));
write(new Number(NaN) * new Boolean(false));
write(new Number(NaN) * NaN);
write(new Number(NaN) * +0);
write(new Number(NaN) * -0);
write(new Number(NaN) * 0);
write(new Number(NaN) * 0.0);
write(new Number(NaN) * -0.0);
write(new Number(NaN) * +0.0);
write(new Number(NaN) * 1);
write(new Number(NaN) * 10);
write(new Number(NaN) * 10.0);
write(new Number(NaN) * 10.1);
write(new Number(NaN) * -1);
write(new Number(NaN) * -10);
write(new Number(NaN) * -10.0);
write(new Number(NaN) * -10.1);
write(new Number(NaN) * Number.MAX_VALUE);
write(new Number(NaN) * Number.MIN_VALUE);
write(new Number(NaN) * Number.NaN);
write(new Number(NaN) * Number.POSITIVE_INFINITY);
write(new Number(NaN) * Number.NEGATIVE_INFINITY);
write(new Number(NaN) * new Number(NaN));
write(new Number(NaN) * new Number(+0));
write(new Number(NaN) * new Number(-0));
write(new Number(NaN) * new Number(0));
write(new Number(NaN) * new Number(0.0));
write(new Number(NaN) * new Number(-0.0));
write(new Number(NaN) * new Number(+0.0));
write(new Number(NaN) * new Number(1));
write(new Number(NaN) * new Number(10));
write(new Number(NaN) * new Number(10.0));
write(new Number(NaN) * new Number(10.1));
write(new Number(NaN) * new Number(-1));
write(new Number(NaN) * new Number(-10));
write(new Number(NaN) * new Number(-10.0));
write(new Number(NaN) * new Number(-10.1));
write(new Number(NaN) * new Number(Number.MAX_VALUE));
write(new Number(NaN) * new Number(Number.MIN_VALUE));
write(new Number(NaN) * new Number(Number.NaN));
write(new Number(NaN) * new Number(Number.POSITIVE_INFINITY));
write(new Number(NaN) * new Number(Number.NEGATIVE_INFINITY));
write(new Number(NaN) * '');
write(new Number(NaN) * 0xa);
write(new Number(NaN) * 04);
write(new Number(NaN) * 'hello');
write(new Number(NaN) * 'hel' + 'lo');
write(new Number(NaN) * String(''));
write(new Number(NaN) * String('hello'));
write(new Number(NaN) * String('h' + 'ello'));
write(new Number(NaN) * new String(''));
write(new Number(NaN) * new String('hello'));
write(new Number(NaN) * new String('he' + 'llo'));
write(new Number(NaN) * new Object());
write(new Number(NaN) * new Object());
write(new Number(NaN) * [1, 2, 3]);
write(new Number(NaN) * [1 ,2 , 3]);
write(new Number(NaN) * new Array(3));
write(new Number(NaN) * Array(3));
write(new Number(NaN) * new Array(1 ,2 ,3));
write(new Number(NaN) * Array(1));
write(new Number(NaN) * foo);
write(new Number(+0) * undefined);
write(new Number(+0) * null);
write(new Number(+0) * true);
write(new Number(+0) * false);
write(new Number(+0) * Boolean(true));
write(new Number(+0) * Boolean(false));
write(new Number(+0) * new Boolean(true));
write(new Number(+0) * new Boolean(false));
write(new Number(+0) * NaN);
write(new Number(+0) * +0);
write(new Number(+0) * -0);
write(new Number(+0) * 0);
write(new Number(+0) * 0.0);
write(new Number(+0) * -0.0);
write(new Number(+0) * +0.0);
write(new Number(+0) * 1);
write(new Number(+0) * 10);
write(new Number(+0) * 10.0);
write(new Number(+0) * 10.1);
write(new Number(+0) * -1);
write(new Number(+0) * -10);
write(new Number(+0) * -10.0);
write(new Number(+0) * -10.1);
write(new Number(+0) * Number.MAX_VALUE);
write(new Number(+0) * Number.MIN_VALUE);
write(new Number(+0) * Number.NaN);
write(new Number(+0) * Number.POSITIVE_INFINITY);
write(new Number(+0) * Number.NEGATIVE_INFINITY);
write(new Number(+0) * new Number(NaN));
